package com.abss.vote.service;

import com.abss.vote.model.*;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface UserBackstageService {

    List<DistrictList> getCountys(int id);

    int getParticipantsCount(int ACTIVITY_ID, String isSup, int DISTRICT_ID, boolean flag);

    int getWorksCount(int ACTIVITY_ID, String isSup, int DISTRICT_ID, boolean flag);

    Administrators login(Administrators administrators);

    Activity getActivityId(int ACTIVITY_ID);

    List<UserWorkVo> getWorks(int ACTIVITY_ID, String isSup, int DISTRICT_ID, boolean flag);

    List<UserWorkVo> getWorkDowmLoad(UserWorkVo userWorkVo);

    List<UserWorkVo> WorkDowmLoad(int work_ID);

    String getActivityName(int ACTIVITY_ID);

    String getUserName(String USER_ID);

    List<UserWorkVo> getWorkDowmLoads(UserWorkVo userWorkVo);

    PageInfo<Activity> getAllActivity(int pageNum, int pageSize);

    PageInfo<Activity> getActivityByStateAndName(String name, String state, int pageNum, int pageSize,
            Administrators ad);

    int addActivity(Activity activity, MpInfo mpInfo);

    int updateActivityDetailsById(Activity activity, MpInfo mpInfo);

    Activity getActivityById(int ACTIVITY_ID);

    int updateActivityById(Activity activity, MpInfo mp);

    int updateAc(Activity activity, MpInfo mp);

    int updateQrcode(Activity activity);

    int getAllAdmins(int id);

    List<Administrators> getAllAdmin(int id, int page, int limit);

    Administrators getAdminById(int ID);

    int updateAdmin(Administrators administrators);

    List<DistrictList> getCounty();

    int addAdmin(Administrators administrators, int id, int level, boolean falg, Administrators ad);

    int deleteAdmin(String ADMIN_ACCOUNT, Administrators ad);

    Integer addPrize(Prize prize);

    Integer addGroupRule(GroupRule groupRule);

    PageInfo<Prize> getAllPrize(int pageNum, int pageSize);

    UserWorkVo getWork(int ID);

    List<AuditFailComments> getFail(String WORK_TYPE);

    int audit(int AUDIT_STATE, int WORK_ID, String COMMENT);

    Administrators checkDistrict(Administrators administrators);

    int checkUserName(Administrators administrators);

    PageInfo<UserWorkVo> getWorkByActivityId(int page, int limit, int DISTRICT_ID, int IS_LOCAL, int AUDIT_STATE,
            String WORK_NAME, int ACTIVITY_ID, String isSup, int districtId);

    PageInfo<UserWorkVo> getWorkByActivityIds(int page, int limit, int DISTRICT_ID, int IS_LOCAL, int AUDIT_STATE,
            String WORK_NAME, int ACTIVITY_ID, String isSup, int districtId);

    PageInfo<UserWorkVo> getWorkByActivityIdss(int page, int limit, int DISTRICT_ID, int IS_LOCAL, int AUDIT_STATE,
            String WORK_NAME, int ACTIVITY_ID, String isSup, int districtId);

    PageInfo<UserWorkVo> getWorkByActivityIdsss(int page, int limit, int DISTRICT_ID, int IS_LOCAL, int AUDIT_STATE,
            String WORK_NAME, int ACTIVITY_ID, String isSup, int districtId);

    int delWork(int WORK_ID);

    int checkActivityByid(int ACTIVITY_ID);

    int checkActivityByids(int ACTIVITY_ID, String server_id);

    int getNewAvtivityId();

    PageInfo<DistrictListUserWorkVo> getUserRegInfo(int page, int limit, String USER_NAME, Administrators ad);

    List<DistrictListUserWorkVo> getAllUserRegInfo(String USER_NAME, Administrators ad);

    List<UserVotesInfo> getUserVotesList(UserVotesInfo userVotesInfo);
    
    int deleteUserVote(String ID, Administrators ad);

    PageInfo<User> getUser(int page, int limit, String USER_NAME, Administrators ad);

    int setLastActivityId(String ADMIN_ACCOUNT, int ACTIVITY_ID);

    Administrators getlogin(String ADMIN_ACCOUNT);

    ActivityPrizeVo getActivityDetails(int ACTIVITY_ID);

    Administrators checkDistrict2(Administrators administrators);

    List<String> getPrizeNames();

    int setWork(int WORK_ID, Administrators ad);

    int deWork(int WORK_ID);

    List<Activity> getAllActivities();

    int backUploadWork(UserWorkVo userWorkVo);

    int promotionWork(int WORK_ID);

    int setIsOpenYdcp(int is_open_ydcp, int ACTIVITY_ID);

    int setYdcpNum(int ydcp_num, int ACTIVITY_ID);

    int setOrderRule(int order_rule, int ACTIVITY_ID);

    int deptUpdate(Activity activity);

    int groupRuleUpdate(Activity activity);

    int addMessage(Message message, UserRegInfo userRegInfo);

    int setIsVote(int is_vote, int ACTIVITY_ID);

    int deleteGroupRule(int ID);

    List<DistrictListUserWorkVo> getAccountWorkDetails(int ACTIVITY_ID);

    int setWorkNumber(int works_limit_peruser, int activity_id);

    int setVotesLinitPerday(int votes_limit_perday, int activity_id);

    int setVotesLimitTosinglePerday(int votes_limit_tosingle_perday, int activity_id);

    int setCurrentStage(int current_stage, int activity_id);

    int getWorkType(int V_TYPE, int A_TYPE, int F_TYPE, int P_TYPE);

    int setWorkType(int V_TYPE, int A_TYPE, int F_TYPE, int P_TYPE, int activity_id);

    int setIsSigup(int is_sigup, int activity_id);

    int setSubmitWorkNumber(int submit_work_number, int activity_id);

    int deWpromotionWorkork(int work_id);

    String getPicName(int work_id);

    int backEditorWork(Work work);

    int getAnumber(int activity_id);

    int getSnumber(int activity_id);

    int getFnumber(int activity_id);

    int getPnumber(int activity_id);

    List<UserWorkVo> getList(int activity_id, int districtId, String isSup, String id);

    int setDELETED(int deleted, int activity_id);

    int setACTIVITY_STATE(int activity_state, int activity_id);

    int setIS_IN(int is_in, int activity_id);

    int setIS_SHOW_COMMENT(int is_show_comment, int activity_id);

    int getAllDistricts(int id);

    String getDistrictBizById(int id);

    List<DistrictList> getAllDistrict(int page, int limit, int id);

    List<DistrictList> getAllDistrictss(int id);

    int checkDistrictName(String district_name, int id, String name);

    int checkDistrictNameAdmin(String district_name, String province, String city, Integer data_level, String server_id,
            int id, String name, String admin);

    int deleteDistrict(Integer id, Administrators ad);

    int updateDistrict(Integer ID, String district_name, String province, String city, Integer data_level);

    int updateDisplay(Integer id, String display);

    List<UserWorkVo> getListOne(String id);

    int deleteActivity(String activity_id);

    UserWorkVo getWorkDetail(int work_id);

    Activity getNumber(int activity_id);

    int setPrize(int activity_id, int i, Integer integer);

    int setACTIVITY_WIN(int activity_id, int activity_win);

    int deletePrize(Integer PrizeId);

    int backUpdateWork(UserWorkVo work);

    int updateTime(Activity activity);

    int setEntryTime(Activity activity);

    int deleteArticle(Integer id);

    int updateArticle(Article article, MpInfo mp);

    int addArticle(Article article, MpInfo mp);

    PageInfo<Article> getReadWork(int page, int limit, String name);

    Article getArticle(Integer id);

    List<Activity> getAllActivitiesNoRemove();

    List<Activity> getAllActivitiesNoRemoves(String server_id);

    List<Activity> getAllActivitiesNoRemovess(String server_id, String admin);

    int getActivityAdminId(int last_activity_id);

    boolean isSubordinates(int activityAdminId, int id);

    boolean isSubordinate(int activityAdminId, int id);

    String getDisName(Integer district_id);

    boolean islastAdmin(Integer id);

    Administrators getAdminByAccount(String admin_account);

    String getLastMpInFoServerId();

    String getServerId(Integer district_id);

    Logo getLogo(Administrators ad);

    int setSubmit(int is_submit, int activity_id);

    String getIsSubmit(int last_activity_id);

    int setWINNERS(int winners, int activity_id);

    List<Prize> getPrizeListByActivityId(int activity_id);

    List<GroupRule> getGroupRuleListByActivityId(int activity_id);

    boolean islosePrize(Prize prize, int ACTIVITY_ID);

    int setWorkPrize(Prize prize);

    int delWorkPrize(Prize prize);

    int updateActivityRules(Activity activity);

    int setIsRote(int is_rote, int activity_id);

    PageInfo<Probation> getAllProbation(int page, int limit);

    int updateProbtation(Probation probation);

    Probation getProbation(Administrators login);

    int award(int work_id);

    PrizeUser getPrizeUser(int activity_id);

    int setPrizeUser(PrizeUser prizeUser);

    List<String> getUsers();

    List<Prize> getPrizeWorkListByActivityId(int activity_id);

    int addPrizeList(List<Prize> prizes);

}

